/* global describe: false, it: false */

var meta = require("../src/meta.json");
require("should");

describe("测试源文件 (src)", function() {
    describe("META", function() {
        it("meta.version 是有效的版本号", function() {
            meta.version.should.match(/\d+(?:\.\d+)+/);
        });
        it("meta.url 是有效的 URL，并且包含 oschina", function() {
            meta.url.should.match(/http(?:s)?:\/\/.*\boschina\b./);
        });
    });

    describe("util工具集", require('./testutil'));
});

describe("测试 dist：jNs-" + meta.version, function() {
    require("../dist/jns-" + meta.version + ".js");
    describe("jNs 首测", function() {
        it("jNs 是 function", function() {
            jNs.should.be.Function;
        });

        it("jNs.modules 目前是一个空数组", function() {
            jNs.modules.should.be.Array;
            jNs.modules.should.be.empty;
        });
    });

    describe("jNs 命名空间", require("./testjns-ns"));
    describe("jNs 模块", require("./testjns-module"));
});
